package cc.siyecao.mapper.provider.annotation;

import cc.siyecao.mapper.provider.enums.KeyType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import static cc.siyecao.mapper.provider.enums.KeyType.AUTO;


@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Key {

    /*
     *主键实现策略
     * */
    KeyType type() default AUTO;

    /*
     *自定义实现id生成器，需实现cc.siyecao.mapper.provider.incrementer.IdentifierGenerator接口
     */
    Class generator() default Class.class;

    /*
     *数据库序列名，需数据库支持序列
     */
    String seqName() default "";
}
